Processors are designed to execute programs comprised of instructions. When a program is executed, it is expected that the instructions are executed in an intended sequence. However, in some situations, the sequence with which the instructions are executed may deviate from the intended sequence. Such deviations may be caused by, for example, hardware errors, electromagnetic radiation, or malicious interference. For some applications, it's sufficient that the instructions execute according to the intended sequence most of the time. However, for certain other applications, it's important that the instructions always execute according to the intended sequence. For example, in some automotive object-detection systems, such as radar, it's important that the instructions always execute according to the intended sequence.
Some automotive radar systems are employed to ensure the safety of drivers and passengers by, for example, providing blind spot monitoring and/or automatic breaking. Due to the safety importance of such automotive radar systems, safety monitoring units and safety controllers may be employed to monitor devices or components of the automotive radar systems. The safety monitoring units are hardware devices configured to perform tests on the devices or components. For example, a safety monitoring unit may be configured to input a radio frequency (RF) signal into a receive chain and to compare an output of the receive chain to an expected output. The safety controllers are programmable devices comprising memory configured to store programs, as well as, processors configured to execute the programs to trigger the tests and, in some embodiments, evaluate results of the test. As such, it's important that instructions of the programs are executed in the intended sequences.
One approach for reducing the likelihood of program instructions being executed out of sequence is to design the processors to higher standards. For example, whereas processors in the automotive industry are often designed to meet the quality management standard of ISO 16949, the processors may be designed to meet the higher safety standard of ISO 26262. However, designing the processors to meet higher standards is challenging and costly given the complexity of the processors.